<?php
/**
 * Created by PhpStorm.
 * User: zlkmu
 * Date: 2017/9/28
 * Time: 10:33
 * 表示某个玩家的类,此类要负责永久化数据,需要连接数据库，这里是个极简框架，仅有玩家ID和玩家姓名
 */
    use \GatewayWorker\Lib\Db;
    class Player{
        //玩家的openid
        public $userOpenId;
        //玩家的ID，在数据库中的唯一标记
        public $userUid;
        //玩家的昵称
        public $userNickname;
        //玩家的性别
        public $userSex;
        //玩家的头像
        public $userHeadImg;
        //玩家房卡
        public $userRoomCard;

        function __construct($playerInfo)
        {
            //初始化玩家信息
            $this->userOpenId=$playerInfo["openId"];
            $this->userNickname=$playerInfo["nickName"];
            $this->userSex=$playerInfo["sex"];
            $this->userHeadImg=$playerInfo["headIcon"];
            $this->userRoomCard=0;
            //检查数据库里面是否有该玩家的信息，如果没有，创建本记录
            $this->createPlayerToDB();

            //利用$playerID检查数据库，获取原始数据

        }

        /**
         * @return mixed
         */
        public function getUserID()
        {
            return $this->userUid;
        }

        /**
         * @param $userUid
         */
        public function setUserID($userUid)
        {
            $this->userUid = $userUid;
        }

        //创建游戏玩家（检查是否已注册、否则注册）
        function createPlayerToDB(){
            $db = Db::instance('game');

            $s = $db->select('user_openid,user_uid')->from('qg_user')->where("user_openid=:id")->bindValues(array('id'=>$this->userOpenId))->query();
            if(!$s){
                //代表着此玩家没有注册，所以需要注册
                $resId=$db->insert('qg_user')->cols(array(
                    'user_openid'=>$this->userOpenId,
                    'user_nickname'=>$this->userNickname,
                    'user_sex'=>$this->userSex,
                    'user_headimg'=>$this->userHeadImg,
                    'register_time'=>date("Y-m-d H:i:s"),
                ))->query();
                //设置当前用户UID
                $this->userUid=$resId;
            }else{
                //已经注册 设置当前用户UID
                $this->userUid=$s[0]["user_uid"];
            }
        }

        //以及对应的get,set方法和数据库方法

    }

?>